package io.zhengsh.juc._1atomic.longadder;

class Solution {

    public static void main(String[] args) {

    }

    public int[] plusOne(int[] digits) {
        int n = digits.length;
        // 下标从大到小
        for (int i=n-1; i>=0; --i) {
            // 是否为 9 
            if (digits[i] != 9) {
                // + 1
                ++digits[i];
                // 下标高位部分为 9, 表示数值低位为 9，需要进位
                // 进位后，覆盖数组下标的值，且数值为 0 
                for (int j = i + 1; j < n; ++j) {
                    digits[j] = 0;
                }
                return digits;
            }
        }
        // 其他的全部为 9 
        int[] ans = new int[n + 1];
        ans[0] = 1;
        return ans;
    }
}